var questiontype='chosequestion';
var optiontype='choseoption';
var chapters='choseChapters';

$(function(){
	$('.spare-add-textarea').blur(function(){
		           var questionname1=$(this).val();
		          $.ajax({
		              type:"post",
		              data:"t_questionname="+questionname1,
		              url:"/questions/questionNameCheck",
		             success:function(data){
		                 if(data.length>0){
		                     $.Zebra_Dialog('<div class="prompt"><div class="error-icon"></div><div class="success-title">该试题名称存在,请重新填写</div></div>', {
							   'title':'提示',
							   'buttons' : [ {
									caption : '确定',
									callback : function() {
										$('#content-only').val("");
									}
								} ]
							});
		                 }
		              }
		          })
		      })
	$('#questions-add').on('click', function() {
		 var doc=getFormDatatoJson();
		 if(questiontype!=='askquestion'&&questiontype!=='fillquestion'){
			 var div=$("#"+optiontype).find(".active");//获得被选中的div选项
			 var answer='';
			 for (var i = 0; i< div.length; i++) {//遍历被选中的答案选项
				 answer+=div.find(".questionsba-listl").eq(i).text();
			}
			 doc["answer"]=answer;
		 }else{
			 if(questiontype=='askquestion'){
				 var answer=$("#answer-qa").val();
			 }else if(questiontype==='fillquestion'){
				 var answer=$("#answer-qf").val();
			 }
			 doc["answer"]=answer;
		 }
		 var flag=validate(doc);
		 if(flag){
			 $.ajax({
	            url: '/questions/saveQuestion',
	            type: 'post',
	            dataType:'json',
	            data: doc,
    		    success: function () {
    		    	window.location.href="/questions/questions";
    		     }
		     });
		 }
		
			    });
				
	    	});

function getFormDatatoJson() {
    var dataJson = {};
    $("#"+questiontype).serializeArray().map(function (x) {
        if (dataJson[x.name ] !== undefined) {
            if (!dataJson[x.name].push) {
                dataJson[x.name] = [dataJson[x.name]];
            }
            dataJson[x.name].push(x.value || '');
        } else {
            dataJson[x.name] = x.value || '';
        }
    });
    return dataJson;
}

function setQuestionType(qType,oType){
	questiontype=qType;
	optiontype=oType;
}
function delOption(oType){
	var div=$("#"+oType).find(".active");//获得被选中的div选项
	div.remove();//删除被选中的div选项
	var sdiv;//获得剩下的div选项
	if(oType==="choseoption"){
		sdiv=$("#"+oType).find(".questionsba-list");//获得剩下的div选项
	}else if(oType==="checkoption"){
		sdiv=$("#"+oType).find(".questionsba-lista");//获得剩下的div选项
	}
	
	sdiv.each(function(index){
		var tex=$(this).find(".questionsba-listl");
		var inp=$(this).find(".list-input");
		if(index===0){
			inp.attr("name","A")
			tex.text("A");
		}else if(index===1){
			inp.attr("name","B")
			tex.text("B");
		}else if(index===2){
			inp.attr("name","C")
			tex.text("C");
		}else if(index===3){
			inp.attr("name","D")
			tex.text("D");
		}else if(index===4){
			inp.attr("name","E")
			tex.text("E");
		}
	});
	
}
function showOption(qtype,otype){
	 questiontype=qtype;
	 optiontype=otype;
	 $("#option").val("");
	$("#optionContent").val("");
	$("#question-show").hide();
	$("#option-hide").show();
	$("#chapters-add").show();
	
}
function showChapters(qtype,ctype){
	questiontype=qtype;
	chapters=ctype;
	$("#question-show").hide();
	$("#chapters-add").show();
	 $("#allDmList").find(".questionsba-lista").removeClass("active");
}
//添加答案选项
function addoption(){
	var option=$("#option").val();
	var optionContent=$("#optionContent").val();
	var sdiv=$("#"+optiontype).find(".questionsba-list");//获得单已经存在的选项
	if(sdiv.length<6){//最多五个选项
		if(option==="A"||option==="B"||option==="C"||option==="D"||option==="E"){
			var flag=true;
			sdiv.each(function(){
				var tex=$(this).find(".questionsba-listl").text();
				if(option===tex){
					flag=false;
					return false;
				}
			});
			if(flag){
				if(optionContent.length<81){
					
					var div;
					if("chosequestion"===questiontype){
						div=$('<div class="questionsba-list clearfix"></div>');
					}else if("checkquestion"===questiontype){
						div=$('<div class="questionsba-lista clearfix"></div>');
					}
					
					div.append('<div class="questionsba-listl">'+option+'</div>');
					div.append('<div class="questionsba-listr"><input type="text" name="'+option+'" class="list-input" value="'+optionContent+'"  /></div>');
					div.append('<div class="documentation-check"></div>');
					$("#"+optiontype).append(div);
					if("chosequestion"===questiontype){
						$("#choseoption").find(".questionsba-list").unbind();
						$("#choseoption").find(".questionsba-list").each(function() {
							$(this).click(function() {
								$(".questionsba-list").removeClass("active");
								$(this).addClass("active");
							});
						});
					}else if("checkquestion"===questiontype){
						$("#checkoption").find(".questionsba-lista").unbind();
						$("#checkoption").find(".questionsba-lista").click(function() {
							$(this).toggleClass("active");
						});
						
					}
					$("#question-show").show();
					$("#option-hide").hide();
				}else{
					zebra_Dialog_warning("选项内容不得超过80个字符!");
				}
			}else{
				zebra_Dialog_warning(option+"选项已经存在!");
			}
		}else{
			zebra_Dialog_warning("请输入正确的选项！如A,B,C,D,E");
		}
	}else{
		zebra_Dialog_warning("最多5个选项!");
	}
	
	
	
}
function hideOption(){
	$("#question-show").show();
	$("#option-hide").hide();
	$("#option").val("");
	$("#optionContent").val("");
	$("#chapters-add").hide();
}
function addChapters(){
	 var div=$("#allDmList").find(".active");//获得所有被选中的div
	 var result='';
	 div.each(function(){
		 var divs=$(this).find(".questionsbb-listl");
		 var dmid=$(this).attr("id");
		result+='<div class="questionsba-lista clearfix"><input type="hidden" name="dataModelhidden" value="'+dmid+'"/>'
				+'<div class="questionsbb-listl">'+$(divs[0]).text()+'</div>'
				+'<div class="questionsbb-listl">'+$(divs[1]).text()+'</div>'
				+'<div class="documentation-check"></div>'
				+'</div>';
	 });
	 $("#"+chapters).append(result);
	 //绑定点击事件
	 $("#"+chapters).find(".questionsba-lista").unbind();
	 $("#"+chapters).find(".questionsba-lista").click(function() {
			$(this).toggleClass("active");
		});
		
	//绑定点击事件
	 $("#question-show").show();
	 $("#chapters-add").hide();
}
function delChapters(){
	var div=$("#"+chapters).find(".active");//获得被选中的div选项
	div.remove();//删除被选中的div选项
}
function validate(dataJson){
	if(dataJson.content===""){
		zebra_Dialog_warning("题目内容不能为空!");
		return ;
	}
	var  regEn = /[~!@#$%^&*]/im,
    regCn = /[！#￥]/im;
	  if (regEn.test(dataJson.content) || regCn.test(dataJson.content)){
			top.$.Zebra_Dialog('<div class="prompt"><div class="warning-icon"></div><div class="success-title">试卷名称不能含有特殊字符</div></div>', {
				'title':'提示',
	 	         'buttons':['确定']
		     });
			return;
	  }
	if(dataJson.content.length>255){
		zebra_Dialog_warning("题目内容不能超过255个字符!");
		return ;
	}
	if(dataJson.code!=="问答题"&&dataJson.code!=="填空题"){
		if(dataJson.A==undefined){
			zebra_Dialog_warning("请添加A选项!");
			return ;
		}else if(dataJson.A==""){
			zebra_Dialog_warning("请填写A选项内容!");
			return ;
		}else if(dataJson.A.length>80){
			zebra_Dialog_warning("A选项内容不能超过80个字符!");
			return ;
		}
		if(dataJson.B==undefined){
			zebra_Dialog_warning("请添加B选项!");
			return ;
		}else if(dataJson.B==""){
			zebra_Dialog_warning("请填写B选项内容!");
			return ;
		}else if(dataJson.B.length>80){
			zebra_Dialog_warning("B选项内容不能超过80个字符!");
			return ;
		}
		if(dataJson.C!==undefined){
			if(dataJson.C==""){
				zebra_Dialog_warning("请填写C选项内容!");
				return ;
			}else if(dataJson.C.length>80){
				zebra_Dialog_warning("C选项内容不能超过80个字符!");
				return ;
			}
		}
		if(dataJson.D!==undefined){
			if(dataJson.D==""){
				zebra_Dialog_warning("请填写D选项内容!");
				return ;
			}else if(dataJson.D.length>80){
				zebra_Dialog_warning("D选项内容不能超过80个字符!");
				return ;
			}
		}
		if(dataJson.E!==undefined){
			if(dataJson.E==""){
				zebra_Dialog_warning("请填写E选项内容!");
				return ;
			}else if(dataJson.E.length>80){
				zebra_Dialog_warning("E选项内容不能超过80个字符!");
				return ;
			}
		}
		
	}
	if(dataJson.answer==""){
		zebra_Dialog_warning("答案不能为空!");
		return ;
	}else if(dataJson.answer.length>1024){
		zebra_Dialog_warning("答案内容不能超过1024个字符!");
		return ;
	}
	if(dataJson.explain.length>1024){
		zebra_Dialog_warning("答案解析内容不能超过1024个字符!");
		return ;
	}
	if(dataJson.dataModelhidden!==undefined){
		if(dataJson.dataModelhidden.length==32){
			return true;
		}
		var f=isRepeat(dataJson.dataModelhidden);
		if(!f){
			zebra_Dialog_warning("章节含有重复内容,请去重!");
			return ;
		}
	}
	return true;
}
function isRepeat(arr) {
	var nary=arr.sort();
	for(var i=0;i<arr.length;i++){
		if (nary[i]==nary[i+1]){
		return ;
	 }
	}
	return true;
	
}